home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / dev / lang / SmallEiffel.lha / SmallEiffel / bin_c / compile_to_c24.c < prev    next >
C/C++ Source or Header  |  1998-12-22  |  62KB  |  2,717 lines

  1. /*
  2. -- ANSI C code generated by :
  3. -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.79)      --
  4. -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
  5. -- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
  6. --                 http://www.loria.fr/SmallEiffel              --
  7. */
  8. #include "compile_to_c.h"
  9. /*No:RENAME_PAIR.new_name*/
  10. /*No:RENAME_PAIR.old_name*/
  11.  
  12.  
  13. void r88make(T88* C,T0* a1,T0* a2){
  14. /*[IF*/
  15. if((X83to_string(a1))==((void*)(X83to_string(a2)))){
  16. r21add_position(X83start_position(a1));
  17. r21add_position(X83start_position(a2));
  18. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms88_91800);
  19. r21fatal_error((T21*)(oBC12eh),b1);
  20. }/*]*/
  21. }
  22. /*FI]*/
  23. C->_old_name=a1;
  24. C->_new_name=a2;
  25. }
  26. /*No:RENAME_PAIR.fatal_error*/
  27. /*No:FROZEN_FEATURE_NAME.is_frozen*/
  28. /*No:FROZEN_FEATURE_NAME.feature_name*/
  29.  
  30.  
  31. void r315undefine_in(T315* C,T0* a1){
  32. /*[IF*/
  33. {/*AT*/r315error(r315start_position(C),((T0*)ms83_117530));
  34. r63fatal_undefine(((T63*)a1),(T0*)C);
  35. }
  36. /*FI]*/
  37. }
  38.  
  39.  
  40. T0* r315origin_base_class(T315* C){
  41. T0* R=NULL;
  42. T0* _sp=NULL;
  43. _sp=r315start_position(C);
  44. /*[IF*/
  45. if((_sp)!=((void*)(NULL))){
  46. R=r70base_class(((T70*)_sp));
  47. }
  48. /*FI]*/
  49. return R;
  50. }
  51.  
  52.  
  53. T0* r315start_position(T315* C){
  54. T0* R=NULL;
  55. R=X83start_position((C)->_feature_name/*4*/);
  56. return R;
  57. }
  58.  
  59.  
  60. T0* r315to_string(T315* C){
  61. T0* R=NULL;
  62. R=X83to_string((C)->_feature_name/*4*/);
  63. return R;
  64. }
  65.  
  66.  
  67. void r315put_cpp_tag(T315* C){
  68. X83put_cpp_tag((C)->_feature_name/*4*/);
  69. }
  70.  
  71.  
  72. void r315declaration_in(T315* C,T0* a1){
  73. X83declaration_in((C)->_feature_name/*4*/,a1);
  74. }
  75.  
  76.  
  77. T0* r315to_key(T315* C){
  78. T0* R=NULL;
  79. R=X83to_key((C)->_feature_name/*4*/);
  80. return R;
  81. }
  82.  
  83.  
  84. T0* r315name_in(T315* C,T0* a1){
  85. T0* R=NULL;
  86. T0* _bc=NULL;
  87. _bc=r315origin_base_class(C);
  88. /*[IF*/
  89. if((_bc)==((void*)(a1))){
  90. R=(T0*)C;
  91. }
  92. else{
  93. R=r63new_name_of(((T63*)a1),_bc,(T0*)C);
  94. }
  95. /*FI]*/
  96. return R;
  97. }
  98.  
  99.  
  100. void r315error(T0* a1,T0* a2){
  101. r21add_position(a1);
  102. r21error((T21*)(oBC12eh),a2);
  103. }
  104. /*No:FROZEN_FEATURE_NAME.make*/
  105. /*No:FROZEN_FEATURE_NAME.mapping_c_in*/
  106. /*No:STD_OUTPUT.flush*/
  107.  
  108.  
  109. void r29put_double_format(T29* C,T5 a1,T2 a2){
  110. /*[IRF3.3clear*/((((T7*)((T7*)(oBC30tmp_string))))->_count)=(0);
  111. /*]*/
  112. r5append_in_format(a1,oBC30tmp_string,a2);
  113. r29put_string(C,oBC30tmp_string);
  114. }
  115.  
  116.  
  117. void r29put_string(T29* C,T0* a1){
  118. T2 _i=0;
  119. _i=1;
  120. while (!((_i)>((((T7*)a1))->_count/*4*/))) {
  121. /*[IRF3.6put_character*/{T29* C1=C;
  122. T3 b1=/*(IRF4.6item*/((((T7*)a1))->_storage/*0*/)[(_i)-(1)]/*)*/;
  123. putc(b1,((FILE*)(stdout)));
  124. }/*]*/
  125. _i=(_i)+(1);
  126. }
  127. }
  128. /*No:STD_OUTPUT.make*/
  129. /*No:STD_OUTPUT.put_character*/
  130. T0*oBC30tmp_string=NULL;
  131.  
  132.  
  133. void r29put_integer(T29* C,T2 a1){
  134. /*[IRF3.3clear*/((((T7*)((T7*)(oBC30tmp_string))))->_count)=(0);
  135. /*]*/
  136. r2append_in(a1,oBC30tmp_string);
  137. r29put_string(C,oBC30tmp_string);
  138. }
  139. /*No:LOOP_VARIANT_2.nb_errors*/
  140. /*No:LOOP_VARIANT_2.tag*/
  141.  
  142.  
  143. T0* r245start_position(T245* C){
  144. T0* R=NULL;
  145. R=X56start_position((C)->_expression/*8*/);
  146. return R;
  147. }
  148.  
  149.  
  150. T0* r245twin(T245* C){
  151. T0* R=NULL;
  152. R=malloc(sizeof(*C));
  153. *((T245*)R)=*C;
  154. return R;
  155. }
  156. /*No:LOOP_VARIANT_2.expression*/
  157.  
  158.  
  159. T6 r245use_current(T245* C){
  160. T6 R=0;
  161. R=X56use_current((C)->_expression/*8*/);
  162. return R;
  163. }
  164.  
  165.  
  166. T0* r245to_runnable(T245* C,T0* a1){
  167. T0* R=NULL;
  168. T0* _e=NULL;
  169. /*[IF*/
  170. if(((C)->_current_type/*12*/)==((void*)(NULL))){
  171. C->_current_type=a1;
  172. _e=X56to_runnable((C)->_expression/*8*/,a1);
  173. /*[IF*/
  174. if((_e)==((void*)(NULL))){
  175. r245error(r245start_position(C),((T0*)ms242_20400));
  176. }
  177. else{
  178. C->_expression=_e;
  179. /*[IF*/
  180. if(!(X54is_integer(X56result_type((C)->_expression/*8*/)))){
  181. r245error(X56start_position((C)->_expression/*8*/),((T0*)ms242_86602));
  182. }
  183. /*FI]*/
  184. }
  185. /*FI]*/
  186. /*[IF*/
  187. if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
  188. R=(T0*)C;
  189. }
  190. /*FI]*/
  191. }
  192. else{
  193. R=r245twin(C);
  194. /*[IRF3.3set_current_type*/((((T245*)(((T245*)R))))->_current_type)=(NULL);
  195. /*]*/
  196. R=r245to_runnable(((T245*)R),a1);
  197. }
  198. /*FI]*/
  199. return R;
  200. }
  201. /*No:LOOP_VARIANT_2.set_current_type*/
  202. /*No:LOOP_VARIANT_2.current_type*/
  203.  
  204.  
  205. void r245error(T0* a1,T0* a2){
  206. r21add_position(a1);
  207. r21error((T21*)(oBC12eh),a2);
  208. }
  209.  
  210.  
  211. void r245make(T245* C,T0* a1,T0* a2,T0* a3){
  212. C->_comment=a3;
  213. C->_tag=a1;
  214. C->_expression=a2;
  215. }
  216. /*No:LOOP_VARIANT_2.comment*/
  217.  
  218.  
  219. void r245afd_check(T245* C){
  220. X56afd_check((C)->_expression/*8*/);
  221. }
  222. /*No:CALL_INFIX_EQ.feature_name*/
  223. /*No:CALL_INFIX_EQ.finalize*/
  224.  
  225.  
  226. T6 r130is_static(T130* C){
  227. T6 R=0;
  228. /*[IF*/
  229. if(X56is_void((C)->_target/*4*/)){
  230. R=r130is_static_eq_void(r130arg1(C));
  231. }
  232.  else if(X56is_void(r130arg1(C))){
  233. R=r130is_static_eq_void((C)->_target/*4*/);
  234. }
  235.  else if((X56is_static((C)->_target/*4*/))&&(X56is_static(r130arg1(C)))){
  236. R=1;
  237. }
  238. /*FI]*/
  239. return R;
  240. }
  241. /*No:CALL_INFIX_EQ.is_manifest_string*/
  242.  
  243.  
  244. T0* r130start_position(T130* C){
  245. T0* R=NULL;
  246. R=((T138*)((C)->_feature_name/*12*/))->_start_position/*8*/;
  247. return R;
  248. }
  249.  
  250.  
  251. void r130error_comparison(T130* C,T0* a1,T0* a2){
  252. r21add_position(((T138*)((C)->_feature_name/*12*/))->_start_position/*8*/);
  253. /*[IRF3.6append*/{T0* b1=((T0*)ms129_9960);
  254. r7append((T7*)(oBC21explanation),b1);
  255. }/*]*/
  256. /*[IRF3.6append*/{T0* b1=a1;
  257. r7append((T7*)(oBC21explanation),b1);
  258. }/*]*/
  259. /*[IRF3.6append*/{T0* b1=((T0*)ms129_88736);
  260. r7append((T7*)(oBC21explanation),b1);
  261. }/*]*/
  262. r21add_type(a2,((T0*)ms13_47));
  263. r21print_as_fatal_error((T21*)(oBC12eh));
  264. }
  265. /*No:CALL_INFIX_EQ.c_simple*/
  266. /*No:CALL_INFIX_EQ.fz_c_eq*/
  267.  
  268.  
  269. T0* r130add_comment(T130* C,T0* a1){
  270. T0* R=NULL;
  271. /*[IF*/
  272. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r39count(((T39*)((((T82*)a1))->_list/*4*/)))/*)*/)==(0))){
  273. R=(T0*)C;
  274. }
  275. else{
  276. {T230*n=malloc(sizeof(*n));
  277. *n=M230;
  278. r230make(n,(T0*)C,a1);
  279. R=(T0*)n;
  280. }
  281. }
  282. /*FI]*/
  283. return R;
  284. }
  285.  
  286.  
  287. T2 r130to_integer(T130* C){
  288. T2 R=0;
  289. r130error(r130start_position(C),((T0*)ms13_45846));
  290. return R;
  291. }
  292.  
  293.  
  294. T6 r130use_current(T130* C){
  295. T6 R=0;
  296. R=(X56use_current((C)->_target/*4*/))||(X56use_current(r130arg1(C)));
  297. return R;
  298. }
  299.  
  300.  
  301. T0* r130to_runnable(T130* C,T0* a1){
  302. T0* R=NULL;
  303. T0* _a=NULL;
  304. T0* _t=NULL;
  305. _t=r130runnable_expression((C)->_target/*4*/,a1);
  306. _a=r130runnable_args((C)->_arguments/*8*/,a1);
  307. /*[IF*/
  308. if(((_t)==((void*)((C)->_target/*4*/)))&&((_a)==((void*)((C)->_arguments/*8*/)))){
  309. R=(T0*)C;
  310. }
  311. else{
  312. {T130*n=malloc(sizeof(*n));
  313. *n=M130;
  314. r130with(n,_t,(C)->_feature_name/*12*/,_a);
  315. R=(T0*)n;
  316. }
  317. }
  318. /*FI]*/
  319. r130check_comparison(((T130*)R),a1);
  320. return R;
  321. }
  322.  
  323.  
  324. T6 r130is_static_eq_void(T0* a1){
  325. T6 R=0;
  326. T0* _rt=NULL;
  327. /*[IF*/
  328. if(X56is_current(a1)){
  329. R=1;
  330. }
  331.  else if(X56is_manifest_string(a1)){
  332. R=1;
  333. }
  334.  else if(r130is_manifest_array(a1)){
  335. R=1;
  336. }
  337. else{
  338. _rt=X54run_type(X56result_type(a1));
  339. /*[IF*/
  340. if(X54is_expanded(_rt)){
  341. /*[IF*/
  342. if(X56can_be_dropped(a1)){
  343. R=1;
  344. }
  345. /*FI]*/
  346. }
  347.  else if(X56is_static(a1)){
  348. /*[IF*/
  349. if((X56static_value(a1))==(0)){
  350. R=1;
  351. }
  352. /*FI]*/
  353. }
  354. /*FI]*/
  355. }
  356. /*FI]*/
  357. return R;
  358. }
  359.  
  360.  
  361. void r130cmp_basic_eiffel_expanded(T130* C,T6 a1,T0* a2,T0* a3){
  362. T6 _flag=0;
  363. _flag=(X54is_real(a2))||(X54is_real(a3));
  364. /*[IF*/
  365. if(_flag){
  366. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms129_6984));
  367. /*]*/
  368. }
  369. /*FI]*/
  370. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  371. T3 b1='\50';
  372. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  373. }/*]*/
  374. /*]*/
  375. X56compile_to_c((C)->_target/*4*/);
  376. /*[IF*/
  377. if(_flag){
  378. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_170));
  379. /*]*/
  380. }
  381. /*FI]*/
  382. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  383. T3 b1='\51';
  384. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  385. }/*]*/
  386. /*]*/
  387. /*[IF*/
  388. if(a1){
  389. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_250));
  390. /*]*/
  391. }
  392. else{
  393. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_194a));
  394. /*]*/
  395. }
  396. /*FI]*/
  397. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  398. T3 b1='\50';
  399. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  400. }/*]*/
  401. /*]*/
  402. /*[IF*/
  403. if(_flag){
  404. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms129_6984));
  405. /*]*/
  406. }
  407. /*FI]*/
  408. X56compile_to_c(r130arg1(C));
  409. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  410. T3 b1='\51';
  411. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  412. }/*]*/
  413. /*]*/
  414. /*[IF*/
  415. if(_flag){
  416. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_170));
  417. /*]*/
  418. }
  419. /*FI]*/
  420. }
  421. /*No:CALL_INFIX_EQ.result_type*/
  422.  
  423.  
  424. void r130check_comparison(T130* C,T0* a1){
  425. T0* _at=NULL;
  426. T0* _tt=NULL;
  427. /*[IF*/
  428. if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
  429. _tt=X54run_type(X56result_type((C)->_target/*4*/));
  430. _at=X54run_type(X56result_type(r130arg1(C)));
  431. /*[IF*/
  432. if(X54is_none(_tt)){
  433. /*[IF*/
  434. if(X54is_expanded(_at)){
  435. X54used_as_reference(_at);
  436. }
  437. /*FI]*/
  438. }
  439.  else if(X54is_none(_at)){
  440. /*[IF*/
  441. if(X54is_expanded(_tt)){
  442. X54used_as_reference(_tt);
  443. }
  444. /*FI]*/
  445. }
  446.  else if(X54is_reference(_tt)){
  447. /*[IF*/
  448. if(X54is_reference(_at)){
  449. /*[IF*/
  450. if(X54is_a(_tt,_at)){
  451. }
  452. else{
  453. /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC21explanation))))->_count)=(0);
  454. /*]*/
  455. /*[IRF3.3clear*/((((T69*)((T69*)(oBC21positions))))->_upper)=(-(1));
  456. /*]*/
  457. /*]*/
  458. /*[IF*/
  459. if(X54is_a(_at,_tt)){
  460. }
  461. else{
  462. r130error_comparison(C,((T0*)ms129_46246),a1);
  463. }
  464. /*FI]*/
  465. }
  466. /*FI]*/
  467. }
  468.  else if(!(X54is_a(_at,_tt))){
  469. r130error_comparison(C,((T0*)ms129_41670),a1);
  470. }
  471. else{
  472. X54used_as_reference(_at);
  473. }
  474. /*FI]*/
  475. }
  476. else{
  477. /*[IF*/
  478. if(X54is_expanded(_at)){
  479. /*[IF*/
  480. if(X54is_basic_eiffel_expanded(_at)){
  481. /*[IF*/
  482. if(X54is_a(_tt,_at)){
  483. }
  484. else{
  485. /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC21explanation))))->_count)=(0);
  486. /*]*/
  487. /*[IRF3.3clear*/((((T69*)((T69*)(oBC21positions))))->_upper)=(-(1));
  488. /*]*/
  489. /*]*/
  490. /*[IF*/
  491. if(X54is_a(_at,_tt)){
  492. }
  493. else{
  494. r130error_comparison(C,((T0*)ms129_37791),a1);
  495. }
  496. /*FI]*/
  497. }
  498. /*FI]*/
  499. }
  500.  else if(X54is_bit(_tt)){
  501. r130bit_limitation(C,_tt,_at);
  502. }
  503.  else if(!(X54is_a(_at,_tt))){
  504. r130error_comparison(C,((T0*)ms129_37791a),a1);
  505. }
  506. /*FI]*/
  507. }
  508.  else if(!(X54is_a(_tt,_at))){
  509. r130error_comparison(C,((T0*)ms129_42138),a1);
  510. }
  511. else{
  512. X54used_as_reference(_tt);
  513. }
  514. /*FI]*/
  515. }
  516. /*FI]*/
  517. }
  518. /*FI]*/
  519. }
  520. /*No:CALL_INFIX_EQ.us_eq*/
  521. /*No:CALL_INFIX_EQ.is_result*/
  522. /*No:CALL_INFIX_EQ.fatal_error*/
  523.  
  524.  
  525. void r130mapping_c_target(T130* C,T0* a1){
  526. T0* _actual_type=NULL;
  527. T6 _flag=0;
  528. _flag=r25call_invariant_start(a1);
  529. _actual_type=X54run_type(/*(IRF4.8result_type*/r130type_boolean()/*)*/);
  530. /*[IF*/
  531. if(X54is_reference(_actual_type)){
  532. /*[IF*/
  533. if(X54is_reference(a1)){
  534. X54mapping_cast(a1);
  535. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  536. T3 b1='\50';
  537. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  538. }/*]*/
  539. /*]*/
  540. r130compile_to_c(C);
  541. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  542. T3 b1='\51';
  543. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  544. }/*]*/
  545. /*]*/
  546. }
  547. else{
  548. X54to_expanded(_actual_type);
  549. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  550. T3 b1='\50';
  551. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  552. }/*]*/
  553. /*]*/
  554. r130compile_to_c(C);
  555. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  556. T3 b1='\51';
  557. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  558. }/*]*/
  559. /*]*/
  560. }
  561. /*FI]*/
  562. }
  563. else{
  564. /*[IF*/
  565. if(X54is_reference(a1)){
  566. X54to_reference(_actual_type);
  567. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  568. T3 b1='\50';
  569. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  570. }/*]*/
  571. /*]*/
  572. r130compile_to_c(C);
  573. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  574. T3 b1='\51';
  575. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  576. }/*]*/
  577. /*]*/
  578. }
  579. else{
  580. /*[IF*/
  581. if(X54need_c_struct(a1)){
  582. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  583. T3 b1='\46';
  584. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  585. }/*]*/
  586. /*]*/
  587. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  588. T3 b1='\50';
  589. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  590. }/*]*/
  591. /*]*/
  592. r130compile_to_c(C);
  593. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  594. T3 b1='\51';
  595. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  596. }/*]*/
  597. /*]*/
  598. }
  599. else{
  600. r130compile_to_c(C);
  601. }
  602. /*FI]*/
  603. }
  604. /*FI]*/
  605. }
  606. /*FI]*/
  607. /*[IF*/
  608. if(_flag){
  609. /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T45* C1=(T45*)(oBC25out_c);
  610. T3 b1='\51';
  611. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  612. }/*]*/
  613. /*]*/
  614. }
  615. /*FI]*/
  616. }
  617. /*No:CALL_INFIX_EQ.fz_cast_void_star*/
  618. /*No:CALL_INFIX_EQ.arguments*/
  619.  
  620.  
  621. T0* r130runnable_expression(T0* a1,T0* a2){
  622. T0* R=NULL;
  623. R=X56to_runnable(a1,a2);
  624. /*[IF*/
  625. if((R)==((void*)(NULL))){
  626. r21add_position(X56start_position(a1));
  627. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms118_16515);
  628. r21fatal_error((T21*)(oBC12eh),b1);
  629. }/*]*/
  630. }
  631. /*FI]*/
  632. return R;
  633. }
  634.  
  635.  
  636. void r130c2c_exp_ref(T0* a1,T0* a2,T0* a3,T0* a4){
  637. /*[IF*/
  638. if(X56is_void(a3)){
  639. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_166a));
  640. /*]*/
  641. X56compile_to_c(a1);
  642. }
  643. else{
  644. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_166a));
  645. /*]*/
  646. X56compile_to_c(a1);
  647. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_393));
  648. /*]*/
  649. X56compile_to_c(a3);
  650. }
  651. /*FI]*/
  652. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms130_736));
  653. /*]*/
  654. }
  655. /*No:CALL_INFIX_EQ.dca_inline_argument*/
  656.  
  657.  
  658. void r130compile_to_c(T130* C){
  659. T0* _at=NULL;
  660. T0* _tt=NULL;
  661. _tt=X54run_type(X56result_type((C)->_target/*4*/));
  662. _at=X54run_type(X56result_type(r130arg1(C)));
  663. /*[IF*/
  664. if(X54is_expanded(_tt)){
  665. /*[IF*/
  666. if(X54is_expanded(_at)){
  667. /*[IF*/
  668. if(X54is_user_expanded(_tt)){
  669. r130cmp_user_expanded(C,1,_tt);
  670. }
  671.  else if(X54is_basic_eiffel_expanded(_tt)){
  672. r130cmp_basic_eiffel_expanded(C,1,_at,_tt);
  673. }
  674.  else if(X54is_bit(_tt)){
  675. r130cmp_bit(C,1,_tt);
  676. }
  677. else{
  678. r130cmp_basic_ref(C,1);
  679. }
  680. /*FI]*/
  681. }
  682. else{
  683. r130c2c_exp_ref((C)->_target/*4*/,_tt,r130arg1(C),_at);
  684. }
  685. /*FI]*/
  686. }
  687.  else if(X54is_expanded(_at)){
  688. r130c2c_exp_ref(r130arg1(C),_at,(C)->_target/*4*/,_tt);
  689. }
  690. else{
  691. r130cmp_basic_ref(C,1);
  692. }
  693. /*FI]*/
  694. }
  695. /*No:CALL_INFIX_EQ.isa_dca_inline_argument*/
  696. /*No:CALL_INFIX_EQ.fz_dot*/
  697. /*No:CALL_INFIX_EQ.target*/
  698.  
  699.  
  700. void r130error(T0* a1,T0* a2){
  701. r21add_position(a1);
  702. r21error((T21*)(oBC12eh),a2);
  703. }
  704.  
  705.  
  706. void r130make(T130* C,T0* a1,T0* a2,T0* a3){
  707. C->_target=a1;
  708. {T138*n=malloc(sizeof(*n));
  709. *n=M138;
  710. r138make(n,r130operator(),a2);
  711. C->_feature_name=(T0*)n;
  712. }
  713. {T149*n=malloc(sizeof(*n));
  714. *n=M149;
  715. /*[IRF3.3make_1*/((((T149*)(n)))->_first_one)=(a3);
  716. /*]*/
  717. C->_arguments=(T0*)n;
  718. }
  719. }
  720.  
  721.  
  722. void r130cmp_bit(T130* C,T6 a1,T0* a2){
  723. T0* _tb=NULL;
  724. _tb=a2;
  725. if(NULL!=(_tb))switch(((T0*)_tb)->id) {
  726. case 276: case 277: 
  727. break;
  728. default:
  729. _tb=NULL;
  730. };/*[IF*/
  731. if(X53is_c_unsigned_ptr(_tb)){
  732. /*[IF*/
  733. if(a1){
  734. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  735. T3 b1='\41';
  736. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  737. }/*]*/
  738. /*]*/
  739. }
  740. /*FI]*/
  741. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms129_6896));
  742. /*]*/
  743. X56mapping_c_arg((C)->_target/*4*/,a2);
  744. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_393));
  745. /*]*/
  746. X56mapping_c_arg(r130arg1(C),a2);
  747. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms129_176));
  748. /*]*/
  749. /*[IRF3.5put_integer*/r45put_integer(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),X53space_for_variable(_tb));
  750. /*]*/
  751. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms129_42));
  752. /*]*/
  753. }
  754. else{
  755. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  756. T3 b1='\50';
  757. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  758. }/*]*/
  759. /*]*/
  760. X56compile_to_c((C)->_target/*4*/);
  761. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  762. T3 b1='\51';
  763. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  764. }/*]*/
  765. /*]*/
  766. /*[IF*/
  767. if(a1){
  768. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_250));
  769. /*]*/
  770. }
  771. else{
  772. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_194a));
  773. /*]*/
  774. }
  775. /*FI]*/
  776. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  777. T3 b1='\50';
  778. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  779. }/*]*/
  780. /*]*/
  781. X56compile_to_c(r130arg1(C));
  782. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  783. T3 b1='\51';
  784. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  785. }/*]*/
  786. /*]*/
  787. }
  788. /*FI]*/
  789. }
  790. /*No:CALL_INFIX_EQ.is_current*/
  791.  
  792.  
  793. T0* r130operator(void){
  794. T0* R=NULL;
  795. R=((T0*)ms14_62);
  796. return R;
  797. }
  798.  
  799.  
  800. void r130cmp_user_expanded(T130* C,T6 a1,T0* a2){
  801. T2 _mem_id=0;
  802. /*[IF*/
  803. if(X54is_dummy_expanded(a2)){
  804. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  805. T3 b1='\50';
  806. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  807. }/*]*/
  808. /*]*/
  809. X56compile_to_c((C)->_target/*4*/);
  810. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  811. T3 b1='\54';
  812. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  813. }/*]*/
  814. /*]*/
  815. X56compile_to_c(r130arg1(C));
  816. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  817. T3 b1='\54';
  818. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  819. }/*]*/
  820. /*]*/
  821. /*[IF*/
  822. if(a1){
  823. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  824. T3 b1='1';
  825. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  826. }/*]*/
  827. /*]*/
  828. }
  829. else{
  830. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  831. T3 b1='0';
  832. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  833. }/*]*/
  834. /*]*/
  835. }
  836. /*FI]*/
  837. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  838. T3 b1='\51';
  839. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  840. }/*]*/
  841. /*]*/
  842. }
  843. else{
  844. _mem_id=X54id(a2);
  845. /*[IF*/
  846. if(a1){
  847. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  848. T3 b1='\41';
  849. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  850. }/*]*/
  851. /*]*/
  852. }
  853. /*FI]*/
  854. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_7854));
  855. /*]*/
  856. /*[IRF3.5put_integer*/r45put_integer(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),_mem_id);
  857. /*]*/
  858. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_166a));
  859. /*]*/
  860. X56compile_to_c((C)->_target/*4*/);
  861. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_393));
  862. /*]*/
  863. X56compile_to_c(r130arg1(C));
  864. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_170));
  865. /*]*/
  866. }
  867. /*FI]*/
  868. }
  869.  
  870.  
  871. void r130afd_check(T130* C){
  872. X56afd_check((C)->_target/*4*/);
  873. X56afd_check(r130arg1(C));
  874. }
  875.  
  876.  
  877. T2 r130static_value(T130* C){
  878. T2 R=0;
  879. /*[IF*/
  880. if(X56is_void((C)->_target/*4*/)){
  881. R=r130static_eq_void(r130arg1(C));
  882. }
  883.  else if(X56is_void(r130arg1(C))){
  884. R=r130static_eq_void((C)->_target/*4*/);
  885. }
  886.  else if((X56is_static((C)->_target/*4*/))&&(X56is_static(r130arg1(C)))){
  887. /*[IF*/
  888. if((X56static_value((C)->_target/*4*/))==(X56static_value(r130arg1(C)))){
  889. R=1;
  890. }
  891. /*FI]*/
  892. }
  893. /*FI]*/
  894. return R;
  895. }
  896. /*No:CALL_INFIX_EQ.fz_se_cmpt*/
  897.  
  898.  
  899. T2 r130static_eq_void(T0* a1){
  900. T2 R=0;
  901. T0* _rt=NULL;
  902. /*[IF*/
  903. if(X56is_current(a1)){
  904. }
  905.  else if(X56is_manifest_string(a1)){
  906. }
  907.  else if(r130is_manifest_array(a1)){
  908. }
  909. else{
  910. _rt=X54run_type(X56result_type(a1));
  911. /*[IF*/
  912. if(X54is_expanded(_rt)){
  913. /*[IF*/
  914. if(X56can_be_dropped(a1)){
  915. R=0;
  916. }
  917. /*FI]*/
  918. }
  919.  else if(X56is_static(a1)){
  920. /*[IF*/
  921. if((X56static_value(a1))==(0)){
  922. R=1;
  923. }
  924. /*FI]*/
  925. }
  926. /*FI]*/
  927. }
  928. /*FI]*/
  929. return R;
  930. }
  931.  
  932.  
  933. void r130dca_inline(T130* C,T0* a1){
  934. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  935. T3 b1='\50';
  936. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  937. }/*]*/
  938. /*]*/
  939. r25put_target_as_value((T25*)(oBC12cpp));
  940. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  941. T3 b1='\51';
  942. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  943. }/*]*/
  944. /*]*/
  945. /*[IF*/
  946. if((/*(IRF4.5first*//*(IRF4.6item*/(((T7*)(r130operator()))->_storage/*0*/)[(1)-(1)]/*)*//*)*/)==('\75')){
  947. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_250));
  948. /*]*/
  949. }
  950. else{
  951. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_194a));
  952. /*]*/
  953. }
  954. /*FI]*/
  955. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  956. T3 b1='\50';
  957. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  958. }/*]*/
  959. /*]*/
  960. X56dca_inline_argument(r130arg1(C),a1);
  961. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  962. T3 b1='\51';
  963. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  964. }/*]*/
  965. /*]*/
  966. }
  967. /*No:CALL_INFIX_EQ.fz_20*/
  968.  
  969.  
  970. void r130compile_to_c_old(T130* C){
  971. X56compile_to_c_old((C)->_target/*4*/);
  972. /*[IF*/
  973. {/*AT*/X149compile_to_c_old((C)->_arguments/*8*/);
  974. }
  975. /*FI]*/
  976. }
  977. /*No:CALL_INFIX_EQ.is_pre_computable*/
  978. /*No:CALL_INFIX_EQ.fz_bad_argument*/
  979.  
  980.  
  981. void r130collect_c_tmp(T130* C){
  982. /*[IF*/
  983. /*AF*//*AE*/
  984. /*FI]*/
  985. X56collect_c_tmp((C)->_target/*4*/);
  986. /*[IF*/
  987. if(((C)->_arguments/*8*/)!=((void*)(NULL))){
  988. X149collect_c_tmp((C)->_arguments/*8*/);
  989. }
  990. /*FI]*/
  991. }
  992. /*No:CALL_INFIX_EQ.fz_iinaiv*/
  993. /*No:CALL_INFIX_EQ.fz_13*/
  994. /*No:CALL_INFIX_EQ.run_feature*/
  995.  
  996.  
  997. T0* r130runnable_args(T0* a1,T0* a2){
  998. T0* R=NULL;
  999. R=X149to_runnable(a1,a2);
  1000. /*[IF*/
  1001. if((R)==((void*)(NULL))){
  1002. r21add_position(X149start_position(a1));
  1003. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms13_13065);
  1004. r21fatal_error((T21*)(oBC12eh),b1);
  1005. }/*]*/
  1006. }
  1007. /*FI]*/
  1008. return R;
  1009. }
  1010. /*No:CALL_INFIX_EQ.fz_17*/
  1011.  
  1012.  
  1013. void r130bit_limitation(T130* C,T0* a1,T0* a2){
  1014. T0* _b2=NULL;
  1015. T0* _b1=NULL;
  1016. _b1=a1;
  1017. if(NULL!=(_b1))switch(((T0*)_b1)->id) {
  1018. case 276: case 277: 
  1019. break;
  1020. default:
  1021. _b1=NULL;
  1022. };_b2=a2;
  1023. if(NULL!=(_b2))switch(((T0*)_b2)->id) {
  1024. case 276: case 277: 
  1025. break;
  1026. default:
  1027. _b2=NULL;
  1028. };/*[IF*/
  1029. if((X53nb(_b1))!=(X53nb(_b2))){
  1030. r21add_position(((T138*)((C)->_feature_name/*12*/))->_start_position/*8*/);
  1031. /*[IRF3.6append*/{T0* b1=((T0*)ms129_21261);
  1032. r7append((T7*)(oBC21explanation),b1);
  1033. }/*]*/
  1034. r21add_type(_b1,((T0*)ms129_1930));
  1035. r21add_type(_b2,((T0*)ms129_383757));
  1036. r21print_as_fatal_error((T21*)(oBC12eh));
  1037. }
  1038. /*FI]*/
  1039. }
  1040. /*No:CALL_INFIX_EQ.arg_count*/
  1041.  
  1042.  
  1043. void r130with(T130* C,T0* a1,T0* a2,T0* a3){
  1044. C->_target=a1;
  1045. C->_feature_name=a2;
  1046. C->_arguments=a3;
  1047. }
  1048. int fBC12type_boolean=0;
  1049. T0*oBC12type_boolean=NULL;
  1050.  
  1051.  
  1052. T0* r130type_boolean(void){
  1053. if(fBC12type_boolean==0){
  1054. fBC12type_boolean=1;
  1055. {T264*n=malloc(sizeof(*n));
  1056. *n=M264;
  1057. r264make(n,NULL);
  1058. oBC12type_boolean=(T0*)n;
  1059. }
  1060. }
  1061. return oBC12type_boolean;}
  1062. /*No:CALL_INFIX_EQ.nb_errors*/
  1063.  
  1064.  
  1065. void r130cmp_basic_ref(T130* C,T6 a1){
  1066. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1067. T3 b1='\50';
  1068. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1069. }/*]*/
  1070. /*]*/
  1071. X56compile_to_c((C)->_target/*4*/);
  1072. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1073. T3 b1='\51';
  1074. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1075. }/*]*/
  1076. /*]*/
  1077. /*[IF*/
  1078. if(a1){
  1079. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_250));
  1080. /*]*/
  1081. }
  1082. else{
  1083. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_194a));
  1084. /*]*/
  1085. }
  1086. /*FI]*/
  1087. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1088. T3 b1='\50';
  1089. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1090. }/*]*/
  1091. /*]*/
  1092. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_5432));
  1093. /*]*/
  1094. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1095. T3 b1='\50';
  1096. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1097. }/*]*/
  1098. /*]*/
  1099. X56compile_to_c(r130arg1(C));
  1100. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1101. T3 b1='\51';
  1102. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1103. }/*]*/
  1104. /*]*/
  1105. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1106. T3 b1='\51';
  1107. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1108. }/*]*/
  1109. /*]*/
  1110. }
  1111. /*No:CALL_INFIX_EQ.can_be_dropped*/
  1112.  
  1113.  
  1114. T6 r130is_manifest_array(T0* a1){
  1115. T6 R=0;
  1116. T0* _ma=NULL;
  1117. _ma=a1;
  1118. if(NULL!=(_ma))switch(((T0*)_ma)->id) {
  1119. case 110: 
  1120. break;
  1121. default:
  1122. _ma=NULL;
  1123. };R=(_ma)!=((void*)(NULL));
  1124. return R;
  1125. }
  1126.  
  1127.  
  1128. void r130c_declare_for_old(T130* C){
  1129. X56c_declare_for_old((C)->_target/*4*/);
  1130. /*[IF*/
  1131. {/*AT*/X149c_declare_for_old((C)->_arguments/*8*/);
  1132. }
  1133. /*FI]*/
  1134. }
  1135. /*No:CALL_INFIX_EQ.fz_c_neq*/
  1136.  
  1137.  
  1138. T0* r130arg1(T130* C){
  1139. T0* R=NULL;
  1140. R=/*X149first*/((T0*)/*(IRF4.3first*/((T149*)((C)->_arguments/*8*/))->_first_one/*4*//*)*/);
  1141. return R;
  1142. }
  1143.  
  1144.  
  1145. void r130mapping_c_arg(T130* C,T0* a1){
  1146. T0* _actual_type=NULL;
  1147. _actual_type=X54run_type(/*(IRF4.8result_type*/r130type_boolean()/*)*/);
  1148. /*[IF*/
  1149. if(X54is_reference(_actual_type)){
  1150. /*[IF*/
  1151. if(X54is_reference(a1)){
  1152. r130compile_to_c(C);
  1153. }
  1154. else{
  1155. X54to_expanded(_actual_type);
  1156. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1157. T3 b1='\50';
  1158. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1159. }/*]*/
  1160. /*]*/
  1161. r130compile_to_c(C);
  1162. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1163. T3 b1='\51';
  1164. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1165. }/*]*/
  1166. /*]*/
  1167. }
  1168. /*FI]*/
  1169. }
  1170. else{
  1171. /*[IF*/
  1172. if(X54is_reference(a1)){
  1173. X54to_reference(_actual_type);
  1174. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1175. T3 b1='\50';
  1176. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1177. }/*]*/
  1178. /*]*/
  1179. r130compile_to_c(C);
  1180. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1181. T3 b1='\51';
  1182. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1183. }/*]*/
  1184. /*]*/
  1185. }
  1186. else{
  1187. /*[IF*/
  1188. if(X54need_c_struct(a1)){
  1189. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1190. T3 b1='\46';
  1191. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1192. }/*]*/
  1193. /*]*/
  1194. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1195. T3 b1='\50';
  1196. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1197. }/*]*/
  1198. /*]*/
  1199. r130compile_to_c(C);
  1200. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1201. T3 b1='\51';
  1202. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1203. }/*]*/
  1204. /*]*/
  1205. }
  1206. else{
  1207. r130compile_to_c(C);
  1208. }
  1209. /*FI]*/
  1210. }
  1211. /*FI]*/
  1212. }
  1213. /*FI]*/
  1214. }
  1215. /*No:CALL_INFIX_EQ.is_void*/
  1216. /*No:CALL_INFIX_EQ.fz_cast_float*/
  1217. /*No:CALL_INFIX_AND.static_value*/
  1218. /*No:CALL_INFIX_AND.call_proc_call_c2c*/
  1219. /*No:CALL_INFIX_AND.feature_name*/
  1220.  
  1221.  
  1222. void r122finalize(T122* C){
  1223. T0* _rf=NULL;
  1224. T0* _rc=NULL;
  1225. _rf=(C)->_run_feature/*16*/;
  1226. _rc=X54run_class(/*X51current_type*/((T0*)(((T324*)_rf))->_current_type/*4*/));
  1227. C->_run_feature=r24dynamic((T24*)(r328first((T328*)((((T24*)_rc))->_running/*12*/))),_rf);
  1228. }
  1229.  
  1230.  
  1231. T6 r122is_static(T122* C){
  1232. T6 R=0;
  1233. /*[IF*/
  1234. if(X54is_boolean(X56result_type((C)->_target/*4*/))){
  1235. /*[IF*/
  1236. if((X56is_static((C)->_target/*4*/))&&(X56is_static(r122arg1(C)))){
  1237. R=1;
  1238. C->_static_value_mem=(X56static_value((C)->_target/*4*/))+(X56static_value(r122arg1(C)));
  1239. /*[IF*/
  1240. if(((C)->_static_value_mem/*20*/)==(2)){
  1241. C->_static_value_mem=1;
  1242. }
  1243. else{
  1244. C->_static_value_mem=0;
  1245. }
  1246. /*FI]*/
  1247. }
  1248. /*FI]*/
  1249. }
  1250. /*FI]*/
  1251. return R;
  1252. }
  1253. /*No:CALL_INFIX_AND.is_manifest_string*/
  1254.  
  1255.  
  1256. T0* r122start_position(T122* C){
  1257. T0* R=NULL;
  1258. R=((T138*)((C)->_feature_name/*12*/))->_start_position/*8*/;
  1259. return R;
  1260. }
  1261. /*No:CALL_INFIX_AND.c_simple*/
  1262.  
  1263.  
  1264. T0* r122add_comment(T122* C,T0* a1){
  1265. T0* R=NULL;
  1266. /*[IF*/
  1267. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r39count(((T39*)((((T82*)a1))->_list/*4*/)))/*)*/)==(0))){
  1268. R=(T0*)C;
  1269. }
  1270. else{
  1271. {T230*n=malloc(sizeof(*n));
  1272. *n=M230;
  1273. r230make(n,(T0*)C,a1);
  1274. R=(T0*)n;
  1275. }
  1276. }
  1277. /*FI]*/
  1278. return R;
  1279. }
  1280.  
  1281.  
  1282. T2 r122to_integer(T122* C){
  1283. T2 R=0;
  1284. r122error(r122start_position(C),((T0*)ms13_45846));
  1285. return R;
  1286. }
  1287.  
  1288.  
  1289. T6 r122use_current(T122* C){
  1290. T6 R=0;
  1291. /*[IF*/
  1292. {/*AT*/R=X149use_current((C)->_arguments/*8*/);
  1293. }
  1294. /*FI]*/
  1295. /*[IF*/
  1296. if(R){
  1297. }
  1298.  else if(X56is_current((C)->_target/*4*/)){
  1299. R=X51use_current((C)->_run_feature/*16*/);
  1300. }
  1301. else{
  1302. R=X56use_current((C)->_target/*4*/);
  1303. }
  1304. /*FI]*/
  1305. return R;
  1306. }
  1307.  
  1308.  
  1309. T0* r122to_runnable(T122* C,T0* a1){
  1310. T0* R=NULL;
  1311. T0* _rf=NULL;
  1312. T0* _tbee=NULL;
  1313. T0* _at=NULL;
  1314. T0* _tt=NULL;
  1315. T0* _a=NULL;
  1316. T0* _t=NULL;
  1317. _t=r122runnable_expression((C)->_target/*4*/,a1);
  1318. _a=r122runnable_args((C)->_arguments/*8*/,a1);
  1319. _tt=X56result_type(_t);
  1320. _at=X56result_type(r122arg1(C));
  1321. /*[IF*/
  1322. /*AF*//*AE*/
  1323. /*FI]*/
  1324. _rf=r122run_feature_for(C,_t,a1);
  1325. /*[IF*/
  1326. if(((C)->_run_feature/*16*/)==((void*)(NULL))){
  1327. C->_target=_t;
  1328. C->_arguments=_a;
  1329. C->_run_feature=_rf;
  1330. r122run_feature_match(C,a1);
  1331. R=(T0*)C;
  1332. }
  1333.  else if(((_t)==((void*)((C)->_target/*4*/)))&&((_a)==((void*)((C)->_arguments/*8*/)))){
  1334. R=(T0*)C;
  1335. }
  1336. else{
  1337. {T122*n=malloc(sizeof(*n));
  1338. *n=M122;
  1339. r122with(n,_t,(C)->_feature_name/*12*/,_a,_rf,a1);
  1340. R=(T0*)n;
  1341. }
  1342. }
  1343. /*FI]*/
  1344. return R;
  1345. }
  1346.  
  1347.  
  1348. void r122compile_to_c_old(T122* C){
  1349. X56compile_to_c_old((C)->_target/*4*/);
  1350. /*[IF*/
  1351. {/*AT*/X149compile_to_c_old((C)->_arguments/*8*/);
  1352. }
  1353. /*FI]*/
  1354. }
  1355. /*No:CALL_INFIX_AND.is_pre_computable*/
  1356. /*No:CALL_INFIX_AND.fz_bad_argument*/
  1357.  
  1358.  
  1359. void r122collect_c_tmp(T122* C){
  1360. /*[IF*/
  1361. if(((C)->_run_feature/*16*/)!=((void*)(NULL))){
  1362. X51collect_c_tmp((C)->_run_feature/*16*/);
  1363. }
  1364. /*FI]*/
  1365. X56collect_c_tmp((C)->_target/*4*/);
  1366. /*[IF*/
  1367. if(((C)->_arguments/*8*/)!=((void*)(NULL))){
  1368. X149collect_c_tmp((C)->_arguments/*8*/);
  1369. }
  1370. /*FI]*/
  1371. }
  1372. /*No:CALL_INFIX_AND.fz_iinaiv*/
  1373.  
  1374.  
  1375. T0* r122result_type(T122* C){
  1376. T0* R=NULL;
  1377. T0* _tla=NULL;
  1378. R=X51result_type((C)->_run_feature/*16*/);
  1379. /*[IF*/
  1380. if(X54is_like_current(R)){
  1381. R=/*X51current_type*/((T0*)((T324*)((C)->_run_feature/*16*/))->_current_type/*4*/);
  1382. }
  1383. else{
  1384. _tla=R;
  1385. if(NULL!=(_tla))switch(((T0*)_tla)->id) {
  1386. case 258: 
  1387. break;
  1388. default:
  1389. _tla=NULL;
  1390. };/*[IF*/
  1391. if((_tla)!=((void*)(NULL))){
  1392. R=X54run_type(X56result_type(r122arg1(C)));
  1393. }
  1394. /*FI]*/
  1395. }
  1396. /*FI]*/
  1397. return R;
  1398. }
  1399. /*No:CALL_INFIX_AND.static_value_mem*/
  1400. /*No:CALL_INFIX_AND.run_feature*/
  1401.  
  1402.  
  1403. T0* r122runnable_args(T0* a1,T0* a2){
  1404. T0* R=NULL;
  1405. R=X149to_runnable(a1,a2);
  1406. /*[IF*/
  1407. if((R)==((void*)(NULL))){
  1408. r21add_position(X149start_position(a1));
  1409. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms13_13065);
  1410. r21fatal_error((T21*)(oBC12eh),b1);
  1411. }/*]*/
  1412. }
  1413. /*FI]*/
  1414. return R;
  1415. }
  1416. /*No:CALL_INFIX_AND.fz_07*/
  1417. /*No:CALL_INFIX_AND.arg_count*/
  1418.  
  1419.  
  1420. void r122with(T122* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
  1421. C->_target=a1;
  1422. C->_feature_name=a2;
  1423. C->_arguments=a3;
  1424. C->_run_feature=a4;
  1425. r122run_feature_match(C,a5);
  1426. }
  1427. /*No:CALL_INFIX_AND.is_result*/
  1428. /*No:CALL_INFIX_AND.fatal_error*/
  1429.  
  1430.  
  1431. void r122mapping_c_target(T122* C,T0* a1){
  1432. T0* _actual_type=NULL;
  1433. T6 _flag=0;
  1434. _flag=r25call_invariant_start(a1);
  1435. _actual_type=X54run_type(r122result_type(C));
  1436. /*[IF*/
  1437. if(X54is_reference(_actual_type)){
  1438. /*[IF*/
  1439. if(X54is_reference(a1)){
  1440. X54mapping_cast(a1);
  1441. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1442. T3 b1='\50';
  1443. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1444. }/*]*/
  1445. /*]*/
  1446. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T122* C1=C;
  1447. r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
  1448. }/*]*/
  1449. /*]*/
  1450. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1451. T3 b1='\51';
  1452. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1453. }/*]*/
  1454. /*]*/
  1455. }
  1456. else{
  1457. X54to_expanded(_actual_type);
  1458. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1459. T3 b1='\50';
  1460. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1461. }/*]*/
  1462. /*]*/
  1463. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T122* C1=C;
  1464. r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
  1465. }/*]*/
  1466. /*]*/
  1467. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1468. T3 b1='\51';
  1469. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1470. }/*]*/
  1471. /*]*/
  1472. }
  1473. /*FI]*/
  1474. }
  1475. else{
  1476. /*[IF*/
  1477. if(X54is_reference(a1)){
  1478. X54to_reference(_actual_type);
  1479. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1480. T3 b1='\50';
  1481. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1482. }/*]*/
  1483. /*]*/
  1484. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T122* C1=C;
  1485. r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
  1486. }/*]*/
  1487. /*]*/
  1488. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1489. T3 b1='\51';
  1490. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1491. }/*]*/
  1492. /*]*/
  1493. }
  1494. else{
  1495. /*[IF*/
  1496. if(X54need_c_struct(a1)){
  1497. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1498. T3 b1='\46';
  1499. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1500. }/*]*/
  1501. /*]*/
  1502. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1503. T3 b1='\50';
  1504. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1505. }/*]*/
  1506. /*]*/
  1507. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T122* C1=C;
  1508. r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
  1509. }/*]*/
  1510. /*]*/
  1511. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1512. T3 b1='\51';
  1513. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1514. }/*]*/
  1515. /*]*/
  1516. }
  1517. else{
  1518. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T122* C1=C;
  1519. r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
  1520. }/*]*/
  1521. /*]*/
  1522. }
  1523. /*FI]*/
  1524. }
  1525. /*FI]*/
  1526. }
  1527. /*FI]*/
  1528. /*[IF*/
  1529. if(_flag){
  1530. /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T45* C1=(T45*)(oBC25out_c);
  1531. T3 b1='\51';
  1532. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1533. }/*]*/
  1534. /*]*/
  1535. }
  1536. /*FI]*/
  1537. }
  1538.  
  1539.  
  1540. void r122run_feature_match(T122* C,T0* a1){
  1541. r122run_feature_has_result(C);
  1542. X149match_with((C)->_arguments/*8*/,(C)->_run_feature/*16*/,a1);
  1543. }
  1544. /*No:CALL_INFIX_AND.arguments*/
  1545.  
  1546.  
  1547. T0* r122runnable_expression(T0* a1,T0* a2){
  1548. T0* R=NULL;
  1549. R=X56to_runnable(a1,a2);
  1550. /*[IF*/
  1551. if((R)==((void*)(NULL))){
  1552. r21add_position(X56start_position(a1));
  1553. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms118_16515);
  1554. r21fatal_error((T21*)(oBC12eh),b1);
  1555. }/*]*/
  1556. }
  1557. /*FI]*/
  1558. return R;
  1559. }
  1560. /*No:CALL_INFIX_AND.can_be_dropped*/
  1561.  
  1562.  
  1563. void r122c_declare_for_old(T122* C){
  1564. X56c_declare_for_old((C)->_target/*4*/);
  1565. /*[IF*/
  1566. {/*AT*/X149c_declare_for_old((C)->_arguments/*8*/);
  1567. }
  1568. /*FI]*/
  1569. }
  1570. /*No:CALL_INFIX_AND.implicit_cast*/
  1571. /*No:CALL_INFIX_AND.dca_inline_argument*/
  1572. /*No:CALL_INFIX_AND.compile_to_c*/
  1573. /*No:CALL_INFIX_AND.isa_dca_inline_argument*/
  1574.  
  1575.  
  1576. T0* r122arg1(T122* C){
  1577. T0* R=NULL;
  1578. R=/*X149first*/((T0*)/*(IRF4.3first*/((T149*)((C)->_arguments/*8*/))->_first_one/*4*//*)*/);
  1579. return R;
  1580. }
  1581.  
  1582.  
  1583. void r122run_feature_has_result(T122* C){
  1584. /*[IF*/
  1585. if((X51result_type((C)->_run_feature/*16*/))==((void*)(NULL))){
  1586. r21add_position(X51start_position((C)->_run_feature/*16*/));
  1587. r21add_position(((T138*)((C)->_feature_name/*12*/))->_start_position/*8*/);
  1588. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms117_53650);
  1589. r21fatal_error((T21*)(oBC12eh),b1);
  1590. }/*]*/
  1591. }
  1592. /*FI]*/
  1593. }
  1594.  
  1595.  
  1596. T0* r122run_feature_for(T122* C,T0* a1,T0* a2){
  1597. T0* R=NULL;
  1598. T0* _rc=NULL;
  1599. _rc=X54run_class(X56result_type(a1));
  1600. R=r24get_rf(((T24*)_rc),a1,(C)->_feature_name/*12*/,a2);
  1601. return R;
  1602. }
  1603. /*No:CALL_INFIX_AND.target*/
  1604.  
  1605.  
  1606. void r122error(T0* a1,T0* a2){
  1607. r21add_position(a1);
  1608. r21error((T21*)(oBC12eh),a2);
  1609. }
  1610.  
  1611.  
  1612. void r122make(T122* C,T0* a1,T0* a2,T0* a3){
  1613. C->_target=a1;
  1614. {T138*n=malloc(sizeof(*n));
  1615. *n=M138;
  1616. r138make(n,r122operator(),a2);
  1617. C->_feature_name=(T0*)n;
  1618. }
  1619. {T149*n=malloc(sizeof(*n));
  1620. *n=M149;
  1621. /*[IRF3.3make_1*/((((T149*)(n)))->_first_one)=(a3);
  1622. /*]*/
  1623. C->_arguments=(T0*)n;
  1624. }
  1625. }
  1626. /*No:CALL_INFIX_AND.is_current*/
  1627.  
  1628.  
  1629. void r122mapping_c_arg(T122* C,T0* a1){
  1630. T0* _actual_type=NULL;
  1631. _actual_type=X54run_type(r122result_type(C));
  1632. /*[IF*/
  1633. if(X54is_reference(_actual_type)){
  1634. /*[IF*/
  1635. if(X54is_reference(a1)){
  1636. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T122* C1=C;
  1637. r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
  1638. }/*]*/
  1639. /*]*/
  1640. }
  1641. else{
  1642. X54to_expanded(_actual_type);
  1643. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1644. T3 b1='\50';
  1645. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1646. }/*]*/
  1647. /*]*/
  1648. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T122* C1=C;
  1649. r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
  1650. }/*]*/
  1651. /*]*/
  1652. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1653. T3 b1='\51';
  1654. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1655. }/*]*/
  1656. /*]*/
  1657. }
  1658. /*FI]*/
  1659. }
  1660. else{
  1661. /*[IF*/
  1662. if(X54is_reference(a1)){
  1663. X54to_reference(_actual_type);
  1664. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1665. T3 b1='\50';
  1666. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1667. }/*]*/
  1668. /*]*/
  1669. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T122* C1=C;
  1670. r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
  1671. }/*]*/
  1672. /*]*/
  1673. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1674. T3 b1='\51';
  1675. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1676. }/*]*/
  1677. /*]*/
  1678. }
  1679. else{
  1680. /*[IF*/
  1681. if(X54need_c_struct(a1)){
  1682. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1683. T3 b1='\46';
  1684. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1685. }/*]*/
  1686. /*]*/
  1687. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1688. T3 b1='\50';
  1689. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1690. }/*]*/
  1691. /*]*/
  1692. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T122* C1=C;
  1693. r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
  1694. }/*]*/
  1695. /*]*/
  1696. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1697. T3 b1='\51';
  1698. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1699. }/*]*/
  1700. /*]*/
  1701. }
  1702. else{
  1703. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T122* C1=C;
  1704. r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
  1705. }/*]*/
  1706. /*]*/
  1707. }
  1708. /*FI]*/
  1709. }
  1710. /*FI]*/
  1711. }
  1712. /*FI]*/
  1713. }
  1714. /*No:CALL_INFIX_AND.is_void*/
  1715. /*No:CALL_INFIX_AND.us_and*/
  1716.  
  1717.  
  1718. T0* r122operator(void){
  1719. T0* R=NULL;
  1720. R=((T0*)ms14_939);
  1721. return R;
  1722. }
  1723.  
  1724.  
  1725. void r122afd_check(T122* C){
  1726. T0* _running=NULL;
  1727. T0* _rc=NULL;
  1728. _rc=X54run_class(X56result_type((C)->_target/*4*/));
  1729. _running=(((T24*)_rc))->_running/*12*/;
  1730. /*[IF*/
  1731. if((_running)==((void*)(NULL))){
  1732. r21add_position(X56start_position((C)->_target/*4*/));
  1733. /*[IRF3.6append*/{T0* b1=((T0*)ms118_181815);
  1734. r7append((T7*)(oBC21explanation),b1);
  1735. }/*]*/
  1736. /*[IRF3.6append*/{T0* b1=X54run_time_mark((((T24*)_rc))->_current_type/*0*/);
  1737. r7append((T7*)(oBC21explanation),b1);
  1738. }/*]*/
  1739. /*[IRF3.6append*/{T0* b1=((T0*)ms13_20094);
  1740. r7append((T7*)(oBC21explanation),b1);
  1741. }/*]*/
  1742. r21print_as_warning((T21*)(oBC12eh));
  1743. r24set_at_run_time(((T24*)_rc));
  1744. }
  1745.  else if((r328count(((T328*)_running)))>(1)){
  1746. r331update((C)->_target/*4*/,(C)->_run_feature/*16*/);
  1747. }
  1748. /*FI]*/
  1749. X56afd_check((C)->_target/*4*/);
  1750. /*[IF*/
  1751. {/*AT*/X149afd_check((C)->_arguments/*8*/);
  1752. }
  1753. /*FI]*/
  1754. }
  1755.  
  1756.  
  1757. void r332c_switch(T0* a1){
  1758. T0* _dyn_rf=NULL;
  1759. T0* _dyn_rc=NULL;
  1760. T2 _i=0;
  1761. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms332_8268));
  1762. /*]*/
  1763. _i=1;
  1764. while (!((_i)>(((T328*)(oBC332running))->_upper/*8*/))) {
  1765. _dyn_rc=r328item((T328*)(oBC332running),_i);
  1766. _dyn_rf=r24dynamic(((T24*)_dyn_rc),a1);
  1767. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms332_2295));
  1768. /*]*/
  1769. /*[IRF3.5put_integer*/r45put_integer(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),(((T24*)_dyn_rc))->_id/*4*/);
  1770. /*]*/
  1771. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1772. T3 b1='\72';
  1773. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1774. }/*]*/
  1775. /*]*/
  1776. r332tail_opening(X51result_type(a1),X51result_type(_dyn_rf));
  1777. r25push_switch((T25*)(oBC12cpp),_dyn_rf,a1);
  1778. X51mapping_c(_dyn_rf);
  1779. r25pop((T25*)(oBC12cpp));
  1780. r332tail_closing(X51result_type(a1),X51result_type(_dyn_rf));
  1781. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms332_4120));
  1782. /*]*/
  1783. _i=(_i)+(1);
  1784. }
  1785. /*[IF*/
  1786. if(r43no_check((T43*)(oBC12run_control))){
  1787. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms332_20592));
  1788. /*]*/
  1789. }
  1790. /*FI]*/
  1791. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_276));
  1792. /*]*/
  1793. }
  1794.  
  1795.  
  1796. void r332c_define(int C,T0* a1){
  1797. T2 _i=0;
  1798. T0* _arg_type=NULL;
  1799. T0* _result_type=NULL;
  1800. T0* _arguments=NULL;
  1801. T6 _boost=0;
  1802. _boost=r43boost((T43*)(oBC12run_control));
  1803. _arguments=X51arguments(a1);
  1804. _result_type=X51result_type(a1);
  1805. /*[IRF3.3clear*/((((T7*)((T7*)(oBC332c_code))))->_count)=(0);
  1806. /*]*/
  1807. /*[IF*/
  1808. if((_result_type)==((void*)(NULL))){
  1809. r7append((T7*)(oBC332c_code),((T0*)ms13_1776a));
  1810. }
  1811. else{
  1812. _result_type=X54run_type(_result_type);
  1813. X54c_type_for_result_in(_result_type,oBC332c_code);
  1814. }
  1815. /*FI]*/
  1816. r7extend((T7*)(oBC332c_code),'\40');
  1817. r7extend((T7*)(oBC332c_code),'X');
  1818. r2append_in(X54id(/*X51current_type*/((T0*)(((T324*)a1))->_current_type/*4*/)),oBC332c_code);
  1819. X83mapping_c_in(/*X51name*/((T0*)(((T324*)a1))->_name/*16*/),oBC332c_code);
  1820. /*[IF*/
  1821. if(_boost){
  1822. r7append((T7*)(oBC332c_code),((T0*)ms332_8200));
  1823. }
  1824. else{
  1825. r7append((T7*)(oBC332c_code),((T0*)ms332_176736));
  1826. }
  1827. /*FI]*/
  1828. /*[IF*/
  1829. if((_arguments)!=((void*)(NULL))){
  1830. _i=1;
  1831. while (!((_i)>(/*(IRF4.6count*/(((T191*)((((T187*)_arguments))->_flat_list/*8*/)))->_upper/*12*//*)*/))) {
  1832. r7extend((T7*)(oBC332c_code),'\54');
  1833. _arg_type=X54run_type(r187type(((T187*)_arguments),_i));
  1834. X54c_type_for_argument_in(_arg_type,oBC332c_code);
  1835. r7append((T7*)(oBC332c_code),((T0*)ms332_264));
  1836. r2append_in(_i,oBC332c_code);
  1837. _i=(_i)+(1);
  1838. }
  1839. }
  1840. /*FI]*/
  1841. r7extend((T7*)(oBC332c_code),'\51');
  1842. r25put_c_heading((T25*)(oBC12cpp),oBC332c_code);
  1843. /*[IRF3.3swap_on_c*/((((T25*)((T25*)(oBC12cpp))))->_current_out)=(oBC25out_c);
  1844. /*]*/
  1845. /*[IF*/
  1846. if((_result_type)!=((void*)(NULL))){
  1847. /*[IRF3.3clear*/((((T7*)((T7*)(oBC332c_code))))->_count)=(0);
  1848. /*]*/
  1849. X54c_type_for_result_in(_result_type,oBC332c_code);
  1850. r7extend((T7*)(oBC332c_code),'\40');
  1851. r7extend((T7*)(oBC332c_code),'R');
  1852. /*[IF*/
  1853. if(!(_boost)){
  1854. r7extend((T7*)(oBC332c_code),'\75');
  1855. X54c_initialize_in(_result_type,oBC332c_code);
  1856. }
  1857. /*FI]*/
  1858. r7append((T7*)(oBC332c_code),((T0*)ms13_144));
  1859. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),oBC332c_code);
  1860. /*]*/
  1861. }
  1862. /*FI]*/
  1863. /*[IF*/
  1864. if(!(_boost)){
  1865. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms332_20878));
  1866. /*]*/
  1867. }
  1868. /*FI]*/
  1869. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms332_7912));
  1870. /*]*/
  1871. r328copy((T328*)(oBC332running),((T24*)(X54run_class(/*X51current_type*/((T0*)(((T324*)a1))->_current_type/*4*/))))->_running/*12*/);
  1872. r332sort_running(oBC332running);
  1873. /*[IF*/
  1874. if(_boost){
  1875. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms332_5726));
  1876. /*]*/
  1877. }
  1878. else{
  1879. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms332_9401));
  1880. /*]*/
  1881. }
  1882. /*FI]*/
  1883. /*[IF*/
  1884. if(r43all_check((T43*)(oBC12run_control))){
  1885. r332c_switch(a1);
  1886. }
  1887. else{
  1888. r332c_dicho(C,a1,1,((T328*)(oBC332running))->_upper/*8*/);
  1889. }
  1890. /*FI]*/
  1891. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_276));
  1892. /*]*/
  1893. /*[IF*/
  1894. if(!(_boost)){
  1895. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms332_10365));
  1896. /*]*/
  1897. }
  1898. /*FI]*/
  1899. /*[IF*/
  1900. if((_result_type)!=((void*)(NULL))){
  1901. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_8364));
  1902. /*]*/
  1903. }
  1904. else{
  1905. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_276));
  1906. /*]*/
  1907. }
  1908. /*FI]*/
  1909. }
  1910.  
  1911.  
  1912. void r332c_dicho(int C,T0* a1,T2 a2,T2 a3){
  1913. T0* _dyn_rf=NULL;
  1914. T0* _dyn_rc=NULL;
  1915. T2 _m=0;
  1916. /*[IF*/
  1917. if((a2)==(a3)){
  1918. _dyn_rc=r328item((T328*)(oBC332running),a2);
  1919. _dyn_rf=r24dynamic(((T24*)_dyn_rc),a1);
  1920. r332tail_opening(X51result_type(a1),X51result_type(_dyn_rf));
  1921. r25push_switch((T25*)(oBC12cpp),_dyn_rf,a1);
  1922. X51mapping_c(_dyn_rf);
  1923. r25pop((T25*)(oBC12cpp));
  1924. r332tail_closing(X51result_type(a1),X51result_type(_dyn_rf));
  1925. }
  1926. else{
  1927. _m=((a2)+(a3))/(2);
  1928. _dyn_rc=r328item((T328*)(oBC332running),_m);
  1929. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms332_6258));
  1930. /*]*/
  1931. /*[IRF3.5put_integer*/r45put_integer(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),(((T24*)_dyn_rc))->_id/*4*/);
  1932. /*]*/
  1933. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms332_540));
  1934. /*]*/
  1935. r332c_dicho(C,a1,a2,_m);
  1936. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms332_4432));
  1937. /*]*/
  1938. r332c_dicho(C,a1,(_m)+(1),a3);
  1939. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1940. T3 b1='\175';
  1941. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1942. }/*]*/
  1943. /*]*/
  1944. }
  1945. /*FI]*/
  1946. }
  1947. /*No:SWITCH.fz_void*/
  1948.  
  1949.  
  1950. void r332put_arguments(T0* a1,T0* a2){
  1951. T2 _up=0;
  1952. T2 _i=0;
  1953. _i=1;
  1954. _up=/*(IRF4.6count*/(((T191*)((((T187*)a2))->_flat_list/*8*/)))->_upper/*12*//*)*/;
  1955. while (!((_i)>(_up))) {
  1956. /*[IF*/
  1957. if((_i)>(1)){
  1958. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  1959. T3 b1='\54';
  1960. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  1961. }/*]*/
  1962. /*]*/
  1963. }
  1964. /*FI]*/
  1965. r332put_ith_argument(a1,a2,_i);
  1966. _i=(_i)+(1);
  1967. }
  1968. }
  1969. T0*oBC332running=NULL;
  1970.  
  1971.  
  1972. void r332sort_running(T0* a1){
  1973. T6 _moved=0;
  1974. T2 _buble=0;
  1975. T2 _max=0;
  1976. T2 _min=0;
  1977. _max=(((T328*)a1))->_upper/*8*/;
  1978. _min=1;
  1979. _moved=1;
  1980. while (!(!(_moved))) {
  1981. _moved=0;
  1982. /*[IF*/
  1983. if(((_max)-(_min))>(0)){
  1984. _buble=(_min)+(1);
  1985. while (!((_buble)>(_max))) {
  1986. /*[IF*/
  1987. if((((T24*)(r328item(((T328*)a1),(_buble)-(1))))->_id/*4*/)>(((T24*)(r328item(((T328*)a1),_buble)))->_id/*4*/)){
  1988. r328swap(((T328*)a1),(_buble)-(1),_buble);
  1989. _moved=1;
  1990. }
  1991. /*FI]*/
  1992. _buble=(_buble)+(1);
  1993. }
  1994. _max=(_max)-(1);
  1995. }
  1996. /*FI]*/
  1997. /*[IF*/
  1998. if((_moved)&&(((_max)-(_min))>(0))){
  1999. _moved=0;
  2000. _buble=(_max)-(1);
  2001. while (!((_buble)<(_min))) {
  2002. /*[IF*/
  2003. if((((T24*)(r328item(((T328*)a1),_buble)))->_id/*4*/)>(((T24*)(r328item(((T328*)a1),(_buble)+(1))))->_id/*4*/)){
  2004. r328swap(((T328*)a1),_buble,(_buble)+(1));
  2005. _moved=1;
  2006. }
  2007. /*FI]*/
  2008. _buble=(_buble)-(1);
  2009. }
  2010. _min=(_min)+(1);
  2011. }
  2012. /*FI]*/
  2013. }
  2014. }
  2015. T0*oBC332c_code=NULL;
  2016. /*No:SWITCH.fz_00*/
  2017.  
  2018.  
  2019. void r332tail_opening(T0* a1,T0* a2){
  2020. /*[IF*/
  2021. if((a1)!=((void*)(NULL))){
  2022. r7copy((T7*)(oBC332c_code),((T0*)ms332_932));
  2023. X54c_type_for_result_in(a1,oBC332c_code);
  2024. r7append((T7*)(oBC332c_code),((T0*)ms332_168));
  2025. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),oBC332c_code);
  2026. /*]*/
  2027. /*[IF*/
  2028. if((X54is_expanded(a2))&&(X54is_reference(a1))){
  2029. X54to_reference(a2);
  2030. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  2031. T3 b1='\50';
  2032. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  2033. }/*]*/
  2034. /*]*/
  2035. }
  2036. /*FI]*/
  2037. }
  2038. /*FI]*/
  2039. }
  2040.  
  2041.  
  2042. void r332tail_closing(T0* a1,T0* a2){
  2043. /*[IF*/
  2044. if((a1)!=((void*)(NULL))){
  2045. /*[IF*/
  2046. if((X54is_expanded(a2))&&(X54is_reference(a1))){
  2047. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  2048. T3 b1='\51';
  2049. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  2050. }/*]*/
  2051. /*]*/
  2052. }
  2053. /*FI]*/
  2054. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_644));
  2055. /*]*/
  2056. }
  2057. /*FI]*/
  2058. }
  2059. /*No:SWITCH.fz_12*/
  2060.  
  2061.  
  2062. void r332put_ith_argument(T0* a1,T0* a2,T2 a3){
  2063. T0* _ft=NULL;
  2064. T0* _at=NULL;
  2065. T0* _eal=NULL;
  2066. _eal=X51arguments(a1);
  2067. _at=X54run_type(r187type(((T187*)_eal),a3));
  2068. _ft=X54run_type(r187type(((T187*)a2),a3));
  2069. /*[IF*/
  2070. if((X54is_reference(_at))&&(X54is_basic_eiffel_expanded(_ft))){
  2071. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  2072. T3 b1='\50';
  2073. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  2074. }/*]*/
  2075. /*]*/
  2076. X54cast_to_ref(_ft);
  2077. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  2078. T3 b1='a';
  2079. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  2080. }/*]*/
  2081. /*]*/
  2082. /*[IRF3.5put_integer*/r45put_integer(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),a3);
  2083. /*]*/
  2084. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms332_9880));
  2085. /*]*/
  2086. }
  2087. else{
  2088. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  2089. T3 b1='a';
  2090. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  2091. }/*]*/
  2092. /*]*/
  2093. /*[IRF3.5put_integer*/r45put_integer(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),a3);
  2094. /*]*/
  2095. }
  2096. /*FI]*/
  2097. }
  2098. /*No:SWITCH.fz_15*/
  2099. /*No:SWITCH.fz_16*/
  2100.  
  2101.  
  2102. T0* r332name(T0* a1){
  2103. T0* R=NULL;
  2104. /*[IRF3.3clear*/((((T7*)((T7*)(oBC332c_code))))->_count)=(0);
  2105. /*]*/
  2106. r7extend((T7*)(oBC332c_code),'X');
  2107. r2append_in(X54id(/*X51current_type*/((T0*)(((T324*)a1))->_current_type/*4*/)),oBC332c_code);
  2108. r7append((T7*)(oBC332c_code),X83to_key(/*X51name*/((T0*)(((T324*)a1))->_name/*16*/)));
  2109. R=oBC332c_code;
  2110. return R;
  2111. }
  2112.  
  2113.  
  2114. T0* r168type_boolean(void){
  2115. if(fBC12type_boolean==0){
  2116. fBC12type_boolean=1;
  2117. {T264*n=malloc(sizeof(*n));
  2118. *n=M264;
  2119. r264make(n,NULL);
  2120. oBC12type_boolean=(T0*)n;
  2121. }
  2122. }
  2123. return oBC12type_boolean;}
  2124. /*No:E_TRUE.static_value*/
  2125. /*No:E_TRUE.mapping_c_target*/
  2126. /*No:E_TRUE.is_static*/
  2127. /*No:E_TRUE.can_be_dropped*/
  2128. /*No:E_TRUE.is_manifest_string*/
  2129. /*No:E_TRUE.start_position*/
  2130. /*No:E_TRUE.c_simple*/
  2131. /*No:E_TRUE.c_declare_for_old*/
  2132.  
  2133.  
  2134. T0* r168add_comment(T168* C,T0* a1){
  2135. T0* R=NULL;
  2136. /*[IF*/
  2137. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r39count(((T39*)((((T82*)a1))->_list/*4*/)))/*)*/)==(0))){
  2138. R=(T0*)C;
  2139. }
  2140. else{
  2141. {T230*n=malloc(sizeof(*n));
  2142. *n=M230;
  2143. r230make(n,(T0*)C,a1);
  2144. R=(T0*)n;
  2145. }
  2146. }
  2147. /*FI]*/
  2148. return R;
  2149. }
  2150. /*No:E_TRUE.to_integer*/
  2151. /*No:E_TRUE.use_current*/
  2152. /*No:E_TRUE.dca_inline_argument*/
  2153. /*No:E_TRUE.compile_to_c*/
  2154. /*No:E_TRUE.to_runnable*/
  2155.  
  2156.  
  2157. T2 r168isa_dca_inline_argument(void){
  2158. T2 R=0;
  2159. /*[IF*/
  2160. {/*AT*/R=-(1);
  2161. }
  2162. /*FI]*/
  2163. return R;
  2164. }
  2165. /*No:E_TRUE.compile_to_c_old*/
  2166. /*No:E_TRUE.is_pre_computable*/
  2167. /*No:E_TRUE.collect_c_tmp*/
  2168. /*No:E_TRUE.fz_iinaiv*/
  2169. /*No:E_TRUE.result_type*/
  2170.  
  2171.  
  2172. void r168error(T0* a1,T0* a2){
  2173. r21add_position(a1);
  2174. r21error((T21*)(oBC12eh),a2);
  2175. }
  2176. /*No:E_TRUE.make*/
  2177. /*No:E_TRUE.is_current*/
  2178. /*No:E_TRUE.is_void*/
  2179.  
  2180.  
  2181. void r168mapping_c_arg(T0* a1){
  2182. /*[IF*/
  2183. if(X54is_reference(a1)){
  2184. /*[IRF3.6to_reference*/{T264* C1=(T264*)(/*(IRF4.8result_type*/r168type_boolean()/*)*/);
  2185. r25to_reference((T25*)(oBC12cpp),(T0*)C1,r264type_boolean_ref());
  2186. }/*]*/
  2187. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  2188. T3 b1='\50';
  2189. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  2190. }/*]*/
  2191. /*]*/
  2192. /*[IRF3.2compile_to_c*//*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  2193. T3 b1='1';
  2194. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  2195. }/*]*/
  2196. /*]*/
  2197. /*]*/
  2198. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  2199. T3 b1='\51';
  2200. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  2201. }/*]*/
  2202. /*]*/
  2203. }
  2204. else{
  2205. /*[IRF3.2compile_to_c*//*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  2206. T3 b1='1';
  2207. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  2208. }/*]*/
  2209. /*]*/
  2210. /*]*/
  2211. }
  2212. /*FI]*/
  2213. }
  2214. /*No:E_TRUE.afd_check*/
  2215. /*No:E_TRUE.is_result*/
  2216. /*No:E_OLD.static_value*/
  2217. /*No:E_OLD.is_static*/
  2218. /*No:E_OLD.is_manifest_string*/
  2219.  
  2220.  
  2221. T0* r146start_position(T146* C){
  2222. T0* R=NULL;
  2223. R=X56start_position((C)->_expression/*4*/);
  2224. return R;
  2225. }
  2226. /*No:E_OLD.c_simple*/
  2227.  
  2228.  
  2229. T0* r146add_comment(T146* C,T0* a1){
  2230. T0* R=NULL;
  2231. /*[IF*/
  2232. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r39count(((T39*)((((T82*)a1))->_list/*4*/)))/*)*/)==(0))){
  2233. R=(T0*)C;
  2234. }
  2235. else{
  2236. {T230*n=malloc(sizeof(*n));
  2237. *n=M230;
  2238. r230make(n,(T0*)C,a1);
  2239. R=(T0*)n;
  2240. }
  2241. }
  2242. /*FI]*/
  2243. return R;
  2244. }
  2245.  
  2246.  
  2247. T2 r146to_integer(T146* C){
  2248. T2 R=0;
  2249. r146error(r146start_position(C),((T0*)ms13_45846));
  2250. return R;
  2251. }
  2252.  
  2253.  
  2254. T6 r146use_current(T146* C){
  2255. T6 R=0;
  2256. R=X56use_current((C)->_expression/*4*/);
  2257. return R;
  2258. }
  2259.  
  2260.  
  2261. T0* r146to_runnable(T146* C,T0* a1){
  2262. T0* R=NULL;
  2263. T0* _exp=NULL;
  2264. /*[IF*/
  2265. if(((C)->_current_type/*8*/)==((void*)(NULL))){
  2266. C->_current_type=a1;
  2267. _exp=X56to_runnable((C)->_expression/*4*/,a1);
  2268. /*[IF*/
  2269. if((_exp)==((void*)(NULL))){
  2270. r146error(r146start_position(C),((T0*)ms146_24605));
  2271. }
  2272. else{
  2273. C->_expression=_exp;
  2274. }
  2275. /*FI]*/
  2276. R=(T0*)C;
  2277. }
  2278. else{
  2279. {T146*n=malloc(sizeof(*n));
  2280. *n=M146;
  2281. /*[IRF3.3make*/((((T146*)(n)))->_expression)=((C)->_expression/*4*/);
  2282. /*]*/
  2283. R=(T0*)n;
  2284. }
  2285. R=r146to_runnable(((T146*)R),a1);
  2286. }
  2287. /*FI]*/
  2288. return R;
  2289. }
  2290. /*No:E_OLD.fz_00*/
  2291.  
  2292.  
  2293. void r146compile_to_c_old(T146* C){
  2294. T0* _t=NULL;
  2295. _t=X54run_type(r146result_type(C));
  2296. r7copy((T7*)(oBC146tmp_string),r146local_c_name(C));
  2297. r7extend((T7*)(oBC146tmp_string),'\75');
  2298. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),oBC146tmp_string);
  2299. /*]*/
  2300. X56mapping_c_arg((C)->_expression/*4*/,_t);
  2301. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_144));
  2302. /*]*/
  2303. }
  2304. /*No:E_OLD.is_pre_computable*/
  2305. /*No:E_OLD.collect_c_tmp*/
  2306. /*No:E_OLD.fz_iinaiv*/
  2307.  
  2308.  
  2309. T0* r146result_type(T146* C){
  2310. T0* R=NULL;
  2311. R=X56result_type((C)->_expression/*4*/);
  2312. return R;
  2313. }
  2314.  
  2315.  
  2316. T0* r146local_c_name(T146* C){
  2317. T0* R=NULL;
  2318. /*[IF*/
  2319. if(((C)->_local_c_name_memory/*12*/)==((void*)(NULL))){
  2320. /*[IRF3.3clear*/((((T7*)((T7*)(oBC146tmp_string))))->_count)=(0);
  2321. /*]*/
  2322. r7extend((T7*)(oBC146tmp_string),'o');
  2323. r2append_in(((T63*)(r70base_class((T70*)(r146start_position(C)))))->_id/*0*/,oBC146tmp_string);
  2324. r7extend((T7*)(oBC146tmp_string),'\137');
  2325. r2append_in(/*(IRF4.6line*/(((T70*)(r146start_position(C)))->_mem_line_column/*4*/)/(1000)/*)*/,oBC146tmp_string);
  2326. r7extend((T7*)(oBC146tmp_string),'\137');
  2327. r2append_in(/*(IRF4.6column*/(((T70*)(r146start_position(C)))->_mem_line_column/*4*/)%(1000)/*)*/,oBC146tmp_string);
  2328. C->_local_c_name_memory=r7twin((T7*)(oBC146tmp_string));
  2329. }
  2330. /*FI]*/
  2331. R=(C)->_local_c_name_memory/*12*/;
  2332. return R;
  2333. }
  2334. /*No:E_OLD.is_result*/
  2335. /*No:E_OLD.mapping_c_target*/
  2336. /*No:E_OLD.can_be_dropped*/
  2337.  
  2338.  
  2339. void r146c_declare_for_old(T146* C){
  2340. T0* _name=NULL;
  2341. T0* _t=NULL;
  2342. _name=r146local_c_name(C);
  2343. _t=X54run_type(r146result_type(C));
  2344. /*[IRF3.3clear*/((((T7*)((T7*)(oBC146tmp_string))))->_count)=(0);
  2345. /*]*/
  2346. X54c_type_for_argument_in(_t,oBC146tmp_string);
  2347. r7extend((T7*)(oBC146tmp_string),'\40');
  2348. r7append((T7*)(oBC146tmp_string),_name);
  2349. r7extend((T7*)(oBC146tmp_string),'\75');
  2350. X54c_initialize_in(_t,oBC146tmp_string);
  2351. r7append((T7*)(oBC146tmp_string),((T0*)ms13_144));
  2352. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),oBC146tmp_string);
  2353. /*]*/
  2354. /*[IF*/
  2355. if(r43no_check((T43*)(oBC12run_control))){
  2356. r7append((T7*)(oBC12c_frame_descriptor_locals),((T0*)ms146_7479));
  2357. r7append((T7*)(oBC12c_frame_descriptor_locals),_name);
  2358. r7extend((T7*)(oBC12c_frame_descriptor_locals),'\54');
  2359. r204increment((T204*)(oBC12c_frame_descriptor_local_count));
  2360. r7append((T7*)(oBC12c_frame_descriptor_format),((T0*)ms146_16850));
  2361. X54c_frame_descriptor(_t);
  2362. }
  2363. /*FI]*/
  2364. }
  2365. /*No:E_OLD.expression*/
  2366. /*No:E_OLD.dca_inline_argument*/
  2367. /*No:E_OLD.compile_to_c*/
  2368. /*No:E_OLD.isa_dca_inline_argument*/
  2369. /*No:E_OLD.local_c_name_memory*/
  2370. /*No:E_OLD.current_type*/
  2371.  
  2372.  
  2373. void r146error(T0* a1,T0* a2){
  2374. r21add_position(a1);
  2375. r21error((T21*)(oBC12eh),a2);
  2376. }
  2377. /*No:E_OLD.make*/
  2378. /*No:E_OLD.is_current*/
  2379. /*No:E_OLD.mapping_c_arg*/
  2380. /*No:E_OLD.is_void*/
  2381. T0*oBC146tmp_string=NULL;
  2382.  
  2383.  
  2384. void r146afd_check(T146* C){
  2385. X56afd_check((C)->_expression/*4*/);
  2386. }
  2387. /*No:WRITABLE_ATTRIBUTE.base_class*/
  2388.  
  2389.  
  2390. T0* r314start_position(T314* C){
  2391. T0* R=NULL;
  2392. R=X83start_position(/*(IRF4.6first_name*/r85item(((T85*)((C)->_names/*8*/)),1)/*)*/);
  2393. return R;
  2394. }
  2395.  
  2396.  
  2397. T6 r314is_merge_with(T314* C,T0* a1,T0* a2){
  2398. T6 R=0;
  2399. R=1;
  2400. /*[IF*/
  2401. if(((C)->_result_type/*20*/)!=((void*)(X93result_type(a1)))){
  2402. /*[IF*/
  2403. if((((C)->_result_type/*20*/)==((void*)(NULL)))||((X93result_type(a1))==((void*)(NULL)))){
  2404. R=0;
  2405. }
  2406. /*FI]*/
  2407. }
  2408. /*FI]*/
  2409. /*[IF*/
  2410. if((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X93arguments(a1)))){
  2411. /*[IF*/
  2412. {/*AT*/R=0;
  2413. }
  2414. /*FI]*/
  2415. }
  2416. /*FI]*/
  2417. /*[IF*/
  2418. if(R){
  2419. /*[IF*/
  2420. if(((C)->_result_type/*20*/)!=((void*)(NULL))){
  2421. R=X54is_a_in((C)->_result_type/*20*/,X93result_type(a1),a2);
  2422. }
  2423. /*FI]*/
  2424. /*[IF*/
  2425. if((R)&&((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(NULL)))){
  2426. R=r187is_a_in((T187*)(/*(IRF4.1arguments*/NULL/*)*/),X93arguments(a1),a2);
  2427. }
  2428. /*FI]*/
  2429. /*[IF*/
  2430. if(!(R)){
  2431. R=1;
  2432. /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC21explanation))))->_count)=(0);
  2433. /*]*/
  2434. /*[IRF3.3clear*/((((T69*)((T69*)(oBC21positions))))->_upper)=(-(1));
  2435. /*]*/
  2436. /*]*/
  2437. /*[IF*/
  2438. if(((C)->_result_type/*20*/)!=((void*)(NULL))){
  2439. R=X54is_a_in(X93result_type(a1),(C)->_result_type/*20*/,a2);
  2440. }
  2441. /*FI]*/
  2442. /*[IF*/
  2443. if((R)&&((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(NULL)))){
  2444. R=r187is_a_in((T187*)(X93arguments(a1)),/*(IRF4.1arguments*/NULL/*)*/,a2);
  2445. }
  2446. /*FI]*/
  2447. }
  2448. /*FI]*/
  2449. }
  2450. /*FI]*/
  2451. /*[IF*/
  2452. if(R){
  2453. r314merge_header_comments(C,a1);
  2454. }
  2455. /*FI]*/
  2456. return R;
  2457. }
  2458. /*No:WRITABLE_ATTRIBUTE.first_name*/
  2459. /*No:WRITABLE_ATTRIBUTE.em1*/
  2460. /*No:WRITABLE_ATTRIBUTE.set_isa_redefinition*/
  2461. /*No:WRITABLE_ATTRIBUTE.header_comment*/
  2462. /*No:WRITABLE_ATTRIBUTE.names*/
  2463. /*No:WRITABLE_ATTRIBUTE.result_type*/
  2464. /*No:WRITABLE_ATTRIBUTE.code_require*/
  2465. /*No:WRITABLE_ATTRIBUTE.make_e_feature*/
  2466.  
  2467.  
  2468. void r314add_into(T314* C,T0* a1){
  2469. T0* _fn=NULL;
  2470. T2 _i=0;
  2471. C->_base_class=r70base_class((T70*)(X83start_position(r85item((T85*)((C)->_names/*8*/),1))));
  2472. _i=1;
  2473. while (!((_i)>(r85count((T85*)((C)->_names/*8*/))))) {
  2474. _fn=r85item((T85*)((C)->_names/*8*/),_i);
  2475. /*[IF*/
  2476. if(r92has(((T92*)a1),X83to_key(_fn))){
  2477. _fn=/*X93first_name*/((T0*)/*(IRF4.6first_name*/r85item(((T85*)(((T199*)(r92at(((T92*)a1),X83to_key(_fn))))->_names/*8*/)),1)/*)*/);
  2478. r21add_position(X83start_position(_fn));
  2479. r21add_position(X83start_position(r85item((T85*)((C)->_names/*8*/),_i)));
  2480. r21error((T21*)(oBC12eh),((T0*)ms93_41905));
  2481. /*[IRF3.6append*/{T0* b1=X83to_string(_fn);
  2482. r7append((T7*)(oBC21explanation),b1);
  2483. }/*]*/
  2484. r21error((T21*)(oBC12eh),((T0*)ms13_47));
  2485. }
  2486. else{
  2487. r92put(((T92*)a1),(T0*)C,X83to_key(_fn));
  2488. }
  2489. /*FI]*/
  2490. _i=(_i)+(1);
  2491. }
  2492. }
  2493.  
  2494.  
  2495. T6 r314can_hide(T314* C,T0* a1,T0* a2){
  2496. T6 R=0;
  2497. /*[IF*/
  2498. if(((C)->_result_type/*20*/)!=((void*)(X93result_type(a1)))){
  2499. /*[IF*/
  2500. if((((C)->_result_type/*20*/)==((void*)(NULL)))||((X93result_type(a1))==((void*)(NULL)))){
  2501. r21add_position(X93start_position(a1));
  2502. r314error(r314start_position(C),((T0*)ms93_64647));
  2503. }
  2504. /*FI]*/
  2505. }
  2506. /*FI]*/
  2507. /*[IF*/
  2508. if((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X93arguments(a1)))){
  2509. /*[IF*/
  2510. {/*AT*/r21add_position(X93start_position(a1));
  2511. r314error(r314start_position(C),((T0*)ms93_83182));
  2512. }
  2513. /*FI]*/
  2514. }
  2515. /*FI]*/
  2516. /*[IF*/
  2517. if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
  2518. /*[IF*/
  2519. if(((C)->_result_type/*20*/)!=((void*)(NULL))){
  2520. /*[IF*/
  2521. if(!(X54is_a_in((C)->_result_type/*20*/,X93result_type(a1),a2))){
  2522. /*[IRF3.6append*/{T0* b1=((T0*)ms93_54285);
  2523. r7append((T7*)(oBC21explanation),b1);
  2524. }/*]*/
  2525. /*[IRF3.6append*/{T0* b1=X54run_time_mark((((T24*)a2))->_current_type/*0*/);
  2526. r7append((T7*)(oBC21explanation),b1);
  2527. }/*]*/
  2528. r21error((T21*)(oBC12eh),((T0*)ms13_47));
  2529. }
  2530. /*FI]*/
  2531. }
  2532. /*FI]*/
  2533. }
  2534. /*FI]*/
  2535. /*[IF*/
  2536. if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
  2537. /*[IF*/
  2538. /*AF*//*AE*/
  2539. /*FI]*/
  2540. }
  2541. /*FI]*/
  2542. R=(/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0);
  2543. /*[IF*/
  2544. if(R){
  2545. r314merge_header_comments(C,a1);
  2546. }
  2547. /*FI]*/
  2548. return R;
  2549. }
  2550. /*No:WRITABLE_ATTRIBUTE.ensure_assertion*/
  2551.  
  2552.  
  2553. T0* r314try_to_undefine(T314* C,T0* a1,T0* a2){
  2554. T0* R=NULL;
  2555. T0* _fn2=NULL;
  2556. r21add_position(X83start_position(a1));
  2557. _fn2=r85feature_name((T85*)((C)->_names/*8*/),X83to_key(a1));
  2558. /*[IF*/
  2559. if((_fn2)!=((void*)(NULL))){
  2560. X83undefine_in(_fn2,a2);
  2561. }
  2562. /*FI]*/
  2563. /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC21explanation))))->_count)=(0);
  2564. /*]*/
  2565. /*[IRF3.3clear*/((((T69*)((T69*)(oBC21positions))))->_upper)=(-(1));
  2566. /*]*/
  2567. /*]*/
  2568. R=r314try_to_undefine_aux(C,a1,a2);
  2569. /*[IF*/
  2570. if((R)!=((void*)(NULL))){
  2571. /*X284set_clients*//*[IRF3.3set_clients*/((((T287*)(((T287*)R))))->_clients)=((C)->_clients/*16*/);
  2572. /*]*/
  2573. r314merge_header_comments(C,R);
  2574. }
  2575. else{
  2576. r63fatal_undefine(((T63*)a2),a1);
  2577. }
  2578. /*FI]*/
  2579. return R;
  2580. }
  2581. /*No:WRITABLE_ATTRIBUTE.is_deferred*/
  2582. /*No:WRITABLE_ATTRIBUTE.set_clients*/
  2583. /*No:WRITABLE_ATTRIBUTE.nb_errors*/
  2584.  
  2585.  
  2586. T0* r314to_run_feature(T314* C,T0* a1,T0* a2){
  2587. T0* R=NULL;
  2588. {T356*n=malloc(sizeof(*n));
  2589. *n=M356;
  2590. r356make(n,a1,a2,(T0*)C);
  2591. R=(T0*)n;
  2592. }
  2593. return R;
  2594. }
  2595.  
  2596.  
  2597. void r314merge_header_comments(T314* C,T0* a1){
  2598. /*[IF*/
  2599. if(((T22*)(oBC12small_eiffel))->_short_flag/*8*/){
  2600. /*[IF*/
  2601. if(((C)->_header_comment/*12*/)==((void*)(NULL))){
  2602. C->_header_comment=/*X93header_comment*/((T0*)(((T199*)a1))->_header_comment/*12*/);
  2603. }
  2604.  else if((/*X93header_comment*/((T0*)(((T199*)a1))->_header_comment/*12*/))==((void*)(NULL))){
  2605. X93set_header_comment(a1,(C)->_header_comment/*12*/);
  2606. }
  2607. /*FI]*/
  2608. }
  2609. /*FI]*/
  2610. }
  2611. /*No:WRITABLE_ATTRIBUTE.arguments*/
  2612. /*No:WRITABLE_ATTRIBUTE.require_assertion*/
  2613.  
  2614.  
  2615. T0* r314try_to_undefine_aux(T314* C,T0* a1,T0* a2){
  2616. T0* R=NULL;
  2617. r21add_position(r314start_position(C));
  2618. r314error(X83start_position(a1),((T0*)ms201_99414));
  2619. r63fatal_undefine(((T63*)a2),a1);
  2620. return R;
  2621. }
  2622. /*No:WRITABLE_ATTRIBUTE.isa_redefinition*/
  2623. /*No:WRITABLE_ATTRIBUTE.fz_dot*/
  2624.  
  2625.  
  2626. T6 r314stupid_switch(T0* a1,T0* a2){
  2627. T6 R=0;
  2628. T0* _t=NULL;
  2629. T0* _dyn_rc=NULL;
  2630. T0* _dyn_rf2=NULL;
  2631. T2 _i=0;
  2632. T2 _offset2=0;
  2633. T2 _offset1=0;
  2634. _i=(((T328*)a2))->_upper/*8*/;
  2635. _dyn_rc=r328item(((T328*)a2),_i);
  2636. _dyn_rf2=r24dynamic(((T24*)_dyn_rc),a1);
  2637. if(NULL!=(_dyn_rf2))switch(((T0*)_dyn_rf2)->id) {
  2638. case 356: 
  2639. break;
  2640. default:
  2641. _dyn_rf2=NULL;
  2642. };/*[IF*/
  2643. if((_dyn_rf2)!=((void*)(NULL))){
  2644. R=1;
  2645. _t=(((T356*)_dyn_rf2))->_result_type/*28*/;
  2646. /*[IF*/
  2647. if(X54is_native_array(_t)){
  2648. _t=r261first((T261*)(X54generic_list(_t)));
  2649. R=X54is_reference(_t);
  2650. }
  2651. /*FI]*/
  2652. _offset1=r24offset_of(((T24*)_dyn_rc),_dyn_rf2);
  2653. _i=(_i)-(1);
  2654. }
  2655. /*FI]*/
  2656. while (!((!(R))||((_i)==(0)))) {
  2657. _dyn_rc=r328item(((T328*)a2),_i);
  2658. _dyn_rf2=r24dynamic(((T24*)_dyn_rc),a1);
  2659. if(NULL!=(_dyn_rf2))switch(((T0*)_dyn_rf2)->id) {
  2660. case 356: 
  2661. break;
  2662. default:
  2663. _dyn_rf2=NULL;
  2664. };/*[IF*/
  2665. if((_dyn_rf2)!=((void*)(NULL))){
  2666. _offset2=r24offset_of(((T24*)_dyn_rc),_dyn_rf2);
  2667. R=(_offset1)==(_offset2);
  2668. _i=(_i)-(1);
  2669. }
  2670. else{
  2671. R=0;
  2672. }
  2673. /*FI]*/
  2674. }
  2675. return R;
  2676. }
  2677.  
  2678.  
  2679. void r314error(T0* a1,T0* a2){
  2680. r21add_position(a1);
  2681. r21error((T21*)(oBC12eh),a2);
  2682. }
  2683.  
  2684.  
  2685. void r314make(T314* C,T0* a1,T0* a2){
  2686. /*[IRF3.3make_e_feature*/((((T314*)(C)))->_names)=(a1);
  2687. /*]*/
  2688. C->_result_type=a2;
  2689. }
  2690.  
  2691.  
  2692. void r314collect_for(T2 a1){
  2693. T0* _er=NULL;
  2694. /*[IF*/
  2695. if((a1)==(1)){
  2696. _er=/*(IRF4.1require_assertion*/NULL/*)*/;
  2697. /*[IF*/
  2698. if((_er)!=((void*)(NULL))){
  2699. /*[IF*/
  2700. if(!(r358fast_has((T358*)(oBC93require_collector),_er))){
  2701. r358add_last((T358*)(oBC93require_collector),_er);
  2702. }
  2703. /*FI]*/
  2704. }
  2705. /*FI]*/
  2706. }
  2707. else{
  2708. /*[IF*/
  2709. /*AF*//*AE*/
  2710. /*FI]*/
  2711. }
  2712. /*FI]*/
  2713. }
  2714. /*No:WRITABLE_ATTRIBUTE.set_header_comment*/
  2715. /*No:WRITABLE_ATTRIBUTE.clients*/
  2716.  
  2717.